home *** CD-ROM | disk | FTP | other *** search
/ GameStar 1998 November (Bonus) / GAMESTAR11B.ISO / ENCYC99 / MM / T620272A.DCR / Scripts_7_Class PictButton.ls < prev    next >
Encoding:
Text File  |  1998-06-29  |  2.0 KB  |  96 lines

  1. property objectSprite, objectRect, objectPict, mouseIsDown, mouseIn, buttonIsOn, onPict, upPict, downPict, offPict, sendsEvent, eventCatcher
  2.  
  3. on mouseEvent me, xEvent, xLoc
  4.   case xEvent of
  5.     #mouseEnter:
  6.       if mouseIsDown then
  7.         set objectPict to downPict
  8.       else
  9.         set objectPict to upPict
  10.       end if
  11.       set mouseIn to 1
  12.     #mouseLeave:
  13.       set objectPict to onPict
  14.       set mouseIn to 0
  15.     #mouseDown:
  16.       set objectPict to downPict
  17.       set mouseIsDown to 1
  18.     #mouseUp:
  19.       if mouseIn then
  20.         set objectPict to upPict
  21.       else
  22.         set objectPict to onPict
  23.       end if
  24.       set mouseIsDown to 0
  25.       if buttonIsOn then
  26.         catchEvent(eventCatcher, sendsEvent)
  27.       end if
  28.     #mouseGone:
  29.       set objectPict to onPict
  30.       set mouseIsDown to 0
  31.       set mouseIn to 0
  32.   end case
  33.   if buttonIsOn then
  34.     set the member of sprite objectSprite to objectPict
  35.     updateStage()
  36.   end if
  37. end
  38.  
  39. on areYouThere me, xLoc
  40.   if inside(xLoc, objectRect) then
  41.     return 1
  42.   end if
  43.   return 0
  44. end
  45.  
  46. on turnON me
  47.   if not buttonIsOn then
  48.     set buttonIsOn to 1
  49.     set the member of sprite objectSprite to objectPict
  50.     updateStage()
  51.   end if
  52. end
  53.  
  54. on turnOff me
  55.   if buttonIsOn then
  56.     set buttonIsOn to 0
  57.     set the member of sprite objectSprite to offPict
  58.     updateStage()
  59.   end if
  60. end
  61.  
  62. on new me, xSprite
  63.   set objectSprite to xSprite
  64.   set objectRect to the rect of sprite objectSprite
  65.   set buttonIsOn to 1
  66.   set mouseIn to 0
  67.   puppetSprite(objectSprite, 1)
  68.   return me
  69. end
  70.  
  71. on setPicts me, pictList
  72.   set onPict to getAt(pictList, 1)
  73.   set upPict to getAt(pictList, 2)
  74.   set downPict to getAt(pictList, 3)
  75.   set offPict to getAt(pictList, 4)
  76.   set objectPict to onPict
  77. end
  78.  
  79. on linkUp me, xCatcher, xSymbol
  80.   set eventCatcher to xCatcher
  81.   set sendsEvent to xSymbol
  82. end
  83.  
  84. on subscribe me, xCursor
  85.   subscribe(xCursor, me)
  86. end
  87.  
  88. on unsubscribe me, xCursor
  89.   unsubscribe(xCursor, me)
  90. end
  91.  
  92. on destroy me
  93.   puppetSprite(objectSprite, 0)
  94.   set me to 0
  95. end
  96.